Method for generating a machine heartbeat

ABSTRACT

A method and system for generating a heartbeat of a process including at least one machine configured to perform a process cycle consisting of a plurality of timed events performed in a process sequence under an identified condition includes determining the duration of each of the timed events during the process cycle performed under the identified condition, ordering the durations of the plurality of timed events in the process sequence, and generating a heartbeat defined by the ordered durations of a process cycle. The identified condition may be one of a design intent, baseline, learnt, known, current or prior condition. The variance of the heartbeat between a first and at least a second identified condition may be analyzed to monitor and/or control the process or machine. The system may display the process heartbeat information and may generate a message in response to the heartbeat and/or variance thereof.

CROSS REFERENCES TO RELATED APPLICATIONS

This Application claims the benefit of U.S. Provisional Application61/493,412, filed Jun. 3, 2011, which is hereby incorporated byreference in its entirety.

TECHNICAL FIELD

The present disclosure relates generally to process control methods, andmore particularly to a method and a system for generating a heartbeat ofa process.

BACKGROUND

Most machinery operates by performing a predetermined set of events,which may also be referred to as tasks, in an ordered sequence toprovide a process outcome. These events are precisely sequenced andtimed according to the design intent of the process being performed bythe machinery. These timed events may be initiated, controlled,monitored and/or measured by one or more computational devices, whichmay include controllers such as programmable logic controllers and/orprogrammable automation controllers, or the like.

As the process is performed, the duration of a timed event may vary fromone process cycle to another as the process conditions change, which mayvary the duration of the process cycle, the throughput and/or efficiencyof the machinery, and/or the process outcome. Variation in the durationof a timed event may indicate a process condition trending toward adowntime condition, such as a tool or equipment failure, a processcondition requiring maintenance to prevent productivity loss, apotential quality issue, or other condition affecting the processoutcome. Known predictive methods of monitoring machinery and/orautomated processes, such as machinery vibration analysis, may notsufficiently discriminate sources of variation to effectively predictprocess conditions which may require intervention to prevent downtime,productivity loss, or quality issues.

SUMMARY

A system and method are provided for generating a machine “heartbeat,”where the heartbeat is defined by event durations of a plurality oftimed events of a process performed by the machinery, where the eventdurations are ordered in the process event sequence. The heartbeat maybe represented by a data sequence or graphically by a pattern. In oneexample, the pattern may be a bar graph pattern. In another example, thepattern may be a continuous line defined by the ordered event durations,where the “ordered event durations” are the event durations of the timedevents of the process arranged in process sequence, e.g., in the orderthe timed events are performed by the process. The machine heartbeat maybe used to measure, monitor and/or control the process by providing acomparator for evaluation of variation in event duration from oneprocess cycle to another. Detailed understanding of variation in theevent duration of the timed events from one process cycle to anotherprocess cycle performed by the machinery may be used to control and/orimprove the process outcome and/or machinery capability, providepredictive or preventive identification of concerns through eventduration analysis, enable causal analysis to identify causes ofbeneficial variation in event duration and/or eliminate or minimizecauses of detrimental variation in event duration, and/or identifyand/or initiate preventive interventions such as preventive maintenanceor pre-failure process shutdown. The machine heartbeat may be generatedfor a process including a plurality of events performed in sequence bythe process machinery, wherein the machinery includes at least onemachine. A method for monitoring a process may include generating aseries of heartbeats including a current heartbeat and one or more priorheartbeats, which may include a baseline heartbeat, a learnt heartbeat,and other prior heartbeats wherein each respective heartbeat is definedby the duration of the events of a process cycle performed under anidentified condition, comparing the variance between the heartbeatsand/or identifying process trends based on differences in the eventdurations and/or duration variances between a current heartbeat and aplurality of prior heartbeats.

The method for generating a heartbeat of a process including at leastone machine configured to perform a process cycle, wherein the processcycle consists of a plurality of timed events performed in a processsequence, includes identifying a baseline duration of each of theplurality of timed events, ordering the baseline durations of theplurality of timed events in the process sequence, and generating abaseline heartbeat defined by the ordered baseline durations of abaseline process cycle. The baseline heartbeat may correspond to thedesign intent condition of the process, such that baseline duration ofeach of the timed events is the design intent duration of that timedinvent identified for the process.

The method may further include generating a learnt heartbeat defined bythe ordered learnt durations of a learnt process cycle, where the learntprocess cycle is performed under a known condition or set of conditions.In one example, the known set of conditions of the learnt process cyclecorresponds to machinery and process parameters which most closelyreplicate the design intent of the process. In another example, thelearnt cycle is a known “good cycle” where the process outcome and/orprocess parameters are known to be within acceptable limits. A learntevent variance may be determined between the learnt duration and thebaseline duration of each respective event in the process sequence, andmay be used to generate a cumulative learnt variance. The learnt eventvariance and/or cumulative learnt variance may be used to establishacceptable limits for the process, against which a current heartbeat ofthe process can be evaluated, wherein the current heartbeat is definedby a current process cycle performed under a then current processcondition, allowing real time monitoring, control and preventive orpredictive analysis of the process and/or machinery.

The system and method may include generating a message, which may beprovided to or displayed by a user interface or transmitted to amessaging device or to the machinery, for example, as an instruction,alert or shutdown signal. The system may include a user interfaceconfigured to display one or more heartbeats and/or related data,messages and signals, where a heartbeat may be displayed as one or moreof a data table, a heartbeat data sequence, a bar graph pattern, and acontinuous line pattern.

The above features and other features and advantages of the presentdisclosure are readily apparent from the following detailed descriptionof the best modes for carrying out the invention when taken inconnection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic illustration of a system for generating theheartbeat of a process performed by at least one machine;

FIG. 2 is a schematic illustration of a sequence of events chart showinga process cycle including a plurality of timed events in sequenced orderand a baseline duration of each of the timed events;

FIG. 3A is a schematic illustration of rotating the sequence of eventschart of FIG. 2 and shifting each of the plurality of baseline eventdurations to originate at the horizontal axis to order the baselineevent durations in process sequence order to form the bar graph shown inFIG. 3B;

FIG. 3B is a schematic illustration of a baseline heartbeat of theprocess cycle of FIG. 2 defined by the ordered baseline event durations,ordered as illustrated in FIG. 3A, where the pattern of the baselineheartbeat is graphically represented by the pattern of the bar graphformed by the ordered baseline event durations;

FIG. 3C is a schematic illustration showing the baseline heartbeat ofthe process cycle of FIG. 2, where the pattern of the baseline heartbeatis graphically represented by the pattern of the bar graph of FIG. 3Band by the pattern of a continuous line connecting the ordered baselineevent durations;

FIG. 3D is a schematic illustration of the baseline heartbeat of theprocess cycle of FIG. 2 where the pattern of the baseline heartbeat isgraphically represented by the pattern of the continuous line connectingthe ordered baseline event durations;

FIG. 4A is a schematic illustration comparing the baseline heartbeat ofFIG. 3D to a learnt heartbeat and a current heartbeat;

FIG. 4B is a schematic illustration of event variance and cumulativevariance between the learnt and current heartbeats of FIG. 4A;

FIG. 5 is a schematic illustration of a sample history of process cycleduration information; and

FIG. 6 is a schematic illustration showing over cycle frequency andaccumulated variance by timed event.

DETAILED DESCRIPTION

Referring to the drawings, wherein like reference numbers correspond tolike or similar components throughout the several figures, FIG. 1 showsa system, generally indicated at 100, for generating a “heartbeat” of aprocess, where the heartbeat is defined by event durations of aplurality of timed events of a process performed by the machinery, wherethe event durations are ordered in the process event sequence. Theheartbeat may be represented by a data sequence or graphically by apattern. In one example, the pattern may be a bar graph pattern. Inanother example, the pattern may be a continuous line defined by theordered event durations, where the “ordered event durations” are theevent durations of the timed events of the process arranged in processsequence, e.g., in the order the timed events are performed by theprocess. The machine heartbeat may be used to measure, monitor and/orcontrol the process by providing a comparator for evaluation ofvariation in event duration from one process cycle to another. Detailedunderstanding of variation in the event duration of the timed eventsfrom one process cycle to another process cycle performed by themachinery may be used to control and/or improve the process outcomeand/or machinery capability, provide predictive or preventiveidentification of concerns through event duration analysis, enablecausal analysis to identify causes of beneficial variation in eventduration and/or eliminate or minimize causes of detrimental variation inevent duration, and/or identify and/or initiate preventive interventionssuch as preventive maintenance or pre-failure process shutdown.

The process, generally indicated at 10, includes machinery generallyindicated at 12 configured to perform a process cycle 30 illustrated bythe sequence of events chart shown in FIG. 2. The process cycle 30consists of a plurality of timed events E1 . . . En, performed in aprocess sequence 50 beginning with a first event or task E1 and endingwith a last event or task En. Each of the timed events E1 . . . En ischaracterized by an event duration, e.g., the length of time to performthe event, which may vary based on the operating condition of theprocess 10 and/or machinery 12. As shown in FIG. 1, in a non-limitingexample, the machinery 12 includes at least one machine, which may beone or more of the machines 12A, 12B, 12C . . . 12 n, configured toperform the process 10. The machinery 12 may include a controller, whichmay be one or more of the controllers 14A, 14B, in communication with atleast one of the machines 12A . . . 12 n. The controller 14A, 14B may beconfigured as a programmable logic controller (PLC), a programmableautomation controller (PAC), or the like. Each of the machines 12A . . .12 n and/or the machinery may be of any type configurable to perform atleast one “timed event” in a sequence of events defining a process cycleof the process 10, where a “timed event” as that term is used herein isan event having a defined start and stop such that the duration of theevent is measurable or otherwise determinable. The machinery 12 may becontrolled by a controller, may be automated, or may otherwise beoperated in a manner such that the duration of the timed event performedduring a process cycle is determinable.

The system 100 may include a server 20 in communication with themachinery 12 and configured to receive event duration data from themachinery 12, and to generate a heartbeat for the process 10 includingthe machinery 12 using the event duration data. The server 20 mayinclude one or more applications 22 adaptable to process the eventduration data received from the machinery 12. The server 20 may includea memory 24 and a database 26 for receiving, storing, and/or providingthe event duration data and data derived therefrom including varianceand trend data, heartbeat data, heartbeat history, etc. within thesystem 100, and a central processing unit (CPU) (not shown) forexecuting the applications 22. The memory 24, at least some of which istangible and non-transitory, may include, by way of example, ROM, RAM,EEPROM, etc., of a size and speed sufficient, for example, for executingthe applications 22, storing the database 26, and/or communicating withthe machinery 12, controllers 14A, 14B, and/or devices 16, 18.

Processing the event duration data using the applications 26 mayinclude, by non-limiting example, one or more of generating a heartbeatbased on the event duration data; associating the event duration dataand/or heartbeat with the time the event duration data was providedand/or an operating condition of the machinery 12 and/or process 10 atthe time the event duration data was provided; associating the eventduration data with a particular machine 12A . . . 12 n of the machinery12, a particular event E1 . . . En, a machine condition, a time of theevent or other event identifying information; analyzing the eventduration data to generate a heartbeat, an event variance, and/or acumulative variance; analyzing the event duration data and/or dataderived therefrom to identify process trends, abnormalities or otherdata patterns; storing the event duration data and other data derivedtherefrom, including but not limited to an event variance, a cumulativevariance, a heartbeat, trend data, with associated information such asevent identifying information, etc. in a database 26; generating amessage or signal based on the event duration data; and/or transmittingthe message or signal to the machinery 12 via the controllers 14A, 14Bor directly, to a user interface device 18, or to another messagingdevice 16 which may be in communication with the machinery 12 or process10.

The examples provided herein are non-limiting. For example, it would beunderstood that the functions of the server 20 may be provided by asingle server, or may be distributed among multiple servers, includingthird party servers, and that the data within the system 100 may beprovided by databases configured other than as described for thedatabase 26. For example, the event duration data related to machine 12Amay reside in a shared database stored in the controller 14A incommunication with the server 20. The database 26 may be distributedamong multiple servers, including third party servers, in communicationwith each other and the server 20 through a network (not shown), such asthe Internet, and/or directly.

FIGS. 2 through 3D illustrate a method for generating a machineheartbeat, which may be, in the example shown, a baseline heartbeat 32(see FIG. 3D), defined by event duration data D1 . . . Dn provided forthe sequential timed events E1 . . . En of a process cycle 30 (see FIG.2) to be performed by the machinery 12. In the example shown, thebaseline heartbeat 32 and the baseline event duration data D1 . . . Dncorresponds to the design intent of the process cycle 30.

As illustrated by the sequence of events chart shown in FIG. 2,performing a single process cycle 30 of the process 10 consists ofperforming the first timed event E1, then performing the second timedevent E2, and so on, until each of the plurality of timed events E1 . .. En are performed in the process sequence 50 indicated by the orderingof events E1 . . . E2 shown on the sequence of events chart to completethe process cycle 30. Each timed event E1 . . . En in the baselineprocess cycle 30 is characterized by a baseline event duration D1 . . .Dn, which in the example shown is the length of time to perform theevent as specified by the design intent of the process 10. In anon-limiting example, where the values indicated are for illustrativepurposes, each respective baseline duration D1 . . . Dn corresponding toa respective timed event E1 . . . En is shown graphically in FIG. 2 andin the data table identified as Table 1.

TABLE 1 Event (E) E1 E2 E3 E4 E5 E6 E7 E8 E9 En Baseline 3.0 4.0 3.0 4.010.0 22.0 4.0 3.0 4.0 3.0 Duration (D)

A heartbeat of the process 10 may be defined by the event durations of aprocess cycle performed under an identified condition, where the eventdurations of the identified process cycle are ordered in the processsequence 50, to provide “ordered baseline durations” of the identifiedprocess cycle. As referred to herein, the “ordered event durations” arethe event durations of an identified process cycle arranged in the orderof the process sequence 50 to define the heartbeat of the identifiedprocess cycle, and an “identified condition” is the condition underwhich the process cycle is performed to provide the event duration datafrom which a respective heartbeat is generated. For example, referringto the baseline process cycle 30 shown in FIG. 2, the identifiedcondition of the baseline process cycle 30 is a baseline condition,which may be the design intent condition of the process 10 and/or themachinery 12. A baseline heartbeat 32 (shown graphically in FIGS. 3B-3D)is defined by the ordered baseline event durations shown in order of theprocess sequence 50 in Table 1, where the baseline heartbeat 32 may alsobe expressed as a baseline data sequence (D1, D2, D3, D4, D5, D6, D7,D8, D9, Dn), which, using the illustrative values shown in Table 1,corresponds to the ordered baseline event durations (3, 4, 3, 4, 10, 22,4, 3, 4, 3). Referring now to FIGS. 3A-3B, the baseline heartbeat 32 maybe graphically generated by rotating the sequence of events chart ofFIG. 2 to order the plurality of timed events E1 . . . En along thehorizontal axis (as shown on the page) in the process sequence 50, andby shifting each of the plurality of baseline event durations D1 . . .Dn as indicated by the arrows on FIG. 3A, such that each event durationD1 . . . Dn originates at the horizontal axis, to form the bar graphshown in FIG. 3B and corresponding to the baseline heartbeat datasequence (D1,D2 . . . Dn) defined by the ordered baseline eventdurations D1 . . . Dn. FIG. 3B shows the pattern formed by the bargraph, which provides a graphical representation of the baselineheartbeat 32. Other graphical representations of the baseline heartbeat32 may be defined by the ordered baseline event durations D1 . . . Dn.For example, FIG. 3C shows the baseline heartbeat 32 graphicallyrepresented by a continuous line, where the pattern of the continuousline is defined by the ordered baseline event durations D1 . . . Dn, andcorresponds to the bar graph pattern generated in FIG. 3B and shownagain in FIG. 3C. FIG. 3D shows the heartbeat 32 graphically representedby the continuous line, graphically showing the rhythm of the baselineheartbeat 32 defined by the ordered baseline event durations D1 . . .Dn. It would be understood that the baseline heartbeat 32 may beexpressed by the baseline heartbeat data sequence (D1,D2, . . . , Dn),graphically represented by the bar graph pattern of FIG. 3B defined bythe ordered baseline event durations, or graphically represented by acontinuous line pattern of FIG. 3D defined by the ordered baseline eventdurations, wherein either graphical representation (bar graph pattern orcontinuous line pattern) shall be considered equivalent to the other andto the heartbeat data sequence illustrated by Table 1 in defining thebaseline heartbeat 32 of the baseline process cycle 30.

As described previously, a heartbeat of the process 20 may be defined bythe ordered event durations of a process cycle performed under anidentified condition, where the event durations of the identifiedprocess cycle are ordered in the process sequence 50, to provide“ordered baseline durations” of the identified process cycle. It wouldbe understood that the actual duration of a timed event duringperformance of the process 10 may vary from one process cycle to anotherbased on the operating condition of and/or operating variables in theprocess 10 and/or the machinery 12 during that process cycle. Operatingvariables may include operating environmental factors such astemperature or humidity, machine maintenance or wear, tooling set-up orwear, workpiece fixturing, workpiece dimensional and/or materialvariation, variability in power supply, lubrication, or hydraulicpressure provided to the machinery, etc.

FIG. 4A shows a series of heartbeats 32, 36, 38 generated for theprocess 10, where each of the heartbeats 32, 36, 38 varies from anotherof the heartbeats 32, 36, 38 due to variability in the operatingcondition of the process 10, wherein each of the heartbeats 32, 36, 38may be associated with an identified operating condition of the process10 during the process cycle from which the heartbeat 32, 36, 38 isderived. The first heartbeat shown in FIG. 4A is the baseline heartbeat32, which is graphically represented in FIG. 4A as a continuous line,and the baseline process cycle 30 (see FIG. 2) from which the baselineheartbeat 32 is generated corresponds to the design intent condition ofthe process 10. A second heartbeat is graphically represented in FIG. 4Aas a bar graph formed of the cross-hatched bars defined by a secondheartbeat data sequence (L1,L2,L3 . . . Ln) is generally indicated at36. The second heartbeat 36 in the present example may also be referredto as a learnt heartbeat 36, where the learnt process cycle (not shown)from which the learnt heartbeat 36 is generated corresponds to a knowncondition of the process 10, and the learnt event durations L1, L2 . . .Ln correspond to the timed events E1, E2 . . . En performed in theprocess sequence 50 by the learnt process cycle.

The known condition of the learnt process cycle may be, for example, aprocess cycle representing optimized process and machine conditions,e.g., conditions most closely replicating design intent process cycle30. The known optimized (learnt) process cycle and learnt heartbeat 36derived therefrom may be used, for example, to determine the bestpossible process performance to be expected during actual operation ofthe process 10, as compared with the original design intent of theprocess represented by the baseline heartbeat 32. By way of example, thelearnt process cycle may be a known good cycle, where a “good cycle” asused herein, is a process cycle which is within acceptable operatingparameters determined for the process 10 and/or machinery 12. Forexample, a known good cycle may be a learnt process cycle performedwithin the design specification of the process 10, e.g., performedwithin an acceptable tolerance from the design intent process cycle 30.In another example, the known condition of the learnt process cycle maybe characterized by one or more machine set-up parameters, keycharacteristics of the fixturing or other operating characteristics ofthe machine, operating environment characteristics such as operatingtemperatures, process outcome parameters such as finished workpiececharacteristics, etc. which have been measured and recorded to establisha known set of conditions defining the learnt heartbeat 36.

The learnt process cycle may be performed by the process 10 afterdetermining the baseline process cycle 30 from the design intent of theprocess 10, such that the learnt process cycle is considered to beperformed subsequent to the baseline process cycle 30, and the learntheartbeat 36 is a subsequent heartbeat of the process 10 relative to theprior baseline heartbeat 32. By comparing a subsequent heartbeatgenerated for a subsequent identified condition to a prior heartbeatgenerated for a prior condition, where subsequent and prior refer to therelative time at which the respective identified process cycle wasperformed from which each respective heartbeat is generated, theperformance of the process 10 and/or the machinery 12 may be monitored,evaluated and/or controlled.

Comparing a subsequent heartbeat to a prior heartbeat may include, forexample, determining a variance between the event duration of an eventduring the subsequent process cycle from which the subsequent heartbeatis derived, and the event duration of the same event during a priorprocess cycle from which the prior heartbeat is derived. For example,the learnt event duration L1 of the timed event E1 measured during thelearnt process cycle performed by the machinery 12 may be compared withthe baseline event duration D1 of the timed event E1 determined from thedesign intent process cycle specified for the machinery 12. The variancebetween the learnt event duration L1 and the baseline event duration D1may be referred to as the learnt event variance for the timed event E1,where the learnt event variance may be used to establish the expectedvariance of the duration of the timed event E1 from the baseline (designintent) duration of the timed event E1 during process operation.Similarly, the variance between learnt event duration L2 and thebaseline event duration D2 may be determined for the second timed eventE2 in the event sequence of the process 10, and so on, such that thevariance between each of the learnt events durations L1 . . . Ln and therespective baseline event durations D1 . . . Dn may be determined foreach of the timed events E1 . . . En in the process sequence 50 of theprocess 10. The learnt event variances for the timed events E1 . . . Encan then be used, for example, to provide an expected event variance forcomparison with subsequent process cycles. A tolerance or limit forsubsequent event variances may be established for each of the learntevent variances for the timed events E1 . . . En, which may be used inevaluating subsequent event durations, where variance of a subsequentevent duration is in excess of the learnt event variance and/or atolerance or limit established for the learnt event variance may causethe system 100 to generate a message, which may be, for example, anindication that the event corresponding to the excess event duration befurther monitored or evaluated, an indication that maintenance of themachinery 12 performing the event is indicated or required, anindication that the cycle time of the process 10 may be changing in amanner which may impact a process outcome including for example, processproductivity, quality or uptime, a signal to the process 10 and/ormachinery 12 to modify operating conditions which may include shuttingdown an operation to prevent an undesirable change in process outcome,which may include shutting down an operation to prevent damage to orfailure of the machinery 12 and/or related downtime, or triggering analarm or alert.

Comparing a subsequent heartbeat to a prior heartbeat may include, inanother example, determining the cumulative variance between asubsequent heartbeat defined by a subsequent process cycle, and a priorheartbeat defined by a prior process cycle. Referring again to FIGS. 4Aand 4B, a learnt cumulative variance between the learnt heartbeat 36 andthe baseline heartbeat 32, where the learnt heartbeat 36 is a subsequentheartbeat relative to the prior baseline heartbeat 32, may be determinedby summing the learnt event variances of the timed events E1 . . . En todetermine a learnt cumulative variance for the duration of the learntprocess cycle relative to duration of the baseline process cycle. Thelearnt cumulative variance, which corresponds to line 40 in the exampleof FIG. 4B, can then be used, for example, to provide an expectedcumulative variance for a subsequent heartbeat, such as a currentheartbeat 38 shown in FIG. 4A, relative to the baseline heartbeat 32,where the expected cumulative variance corresponds to the expectedvariance of the total duration of the subsequent process cycle relativeto the total duration of the baseline process cycle 30. The learntcumulative variance 40 may be established as a limit 40, as shown inFIG. 4B, for comparison with or evaluation of a subsequent cumulativevariance defined by a subsequent heartbeat corresponding to a subsequentprocess cycle. The system 100 may be configured such that when asubsequent cumulative variance of a subsequent event duration is inexcess of the learnt event variance and/or limit 40, the system 100 maygenerate a message, which may be, for example, an indication that themachinery 12 and/or process 10 be further monitored or evaluated, anindication that maintenance of the machinery 12 is indicated orrequired, an indication that the cycle time of the process 10 may bechanging in a manner which may impact a process outcome including forexample, process productivity, quality or uptime, a signal to theprocess 10 and/or machinery 12 to modify operating conditions which mayinclude shutting down an operation to prevent an undesirable change inprocess outcome or to prevent a damage to or failure of the machinery 12and/or related downtime, or triggering an alarm or alert.

Referring again to FIG. 4A, a third heartbeat is generally indicated at38 and is graphically represented in FIG. 4A as a bar graph formed ofthe broken-line bars defined by a third heartbeat data sequence(C1,C2,C3 . . . Cn). The third heartbeat 38 in the present example mayalso be referred to as a current heartbeat 38, where the current processcycle (not shown) from which the current heartbeat 38 is generatedcorresponds to a current condition of the process 10, and the learntevent durations C1, C2 . . . Cn correspond to the timed events E1, E2 .. . En performed in the process sequence 50 by the current processcycle. The current process cycle may be performed by the process 10after the learnt process cycle and the baseline process cycle 30, suchthat the current process cycle is considered to be performed subsequentto the learnt and baseline process cycles, and the current heartbeat 38is a subsequent heartbeat of the process 10 relative to the learntheartbeat 36 and relative to the baseline heartbeat 32, where the learntand baseline heartbeats 36, 32 may be referred to as prior heartbeats ofthe process 10 relative to the current heartbeat 38.

The current process cycle is performed under a current condition, e.g.,the actual operating condition of the process 10 and/or machinery 12existing at the time the current process cycle is performed. As such thecurrent condition includes and/or reflects changes in process operatingparameters of the process 10, machine operating parameters of themachinery 12, workpiece characteristics of the workpiece (not shown)being processed by the machinery 12, or other sources of processvariation, which may include, for example, variation in environmentalconditions influencing process performance and/or output such astemperature, humidity, incoming power source characteristics, or thelike existing at the time the current process cycle is performed. Bycomparing the current heartbeat 38 to at least one prior heartbeat 32,36, the performance of the process 10 and/or the machinery 12 may bemonitored, evaluated and/or controlled in real time, e.g., at the timethe current process cycle defining the current heartbeat 38 isperformed. Further, by comparing a subsequent heartbeat, such as thecurrent heartbeat 38, to a plurality of prior heartbeats which mayinclude the baseline heartbeat 32, the learnt heartbeat 36, and/oranother current heartbeat generated subsequent to the learnt heartbeat36 and prior to the current heartbeat 38, where the another currentheartbeat is a prior heartbeat relative to the current heartbeat 38,process trends may be evaluated and/or identified based on thecomparison of at least one of the current event variance and the currentcumulative variance of the current heartbeat 38.

Comparing the current heartbeat 32 to the learnt heartbeat 36 mayinclude, for example, determining a current event variance between thecurrent event duration of a timed event determined during the currentprocess cycle, and the learnt event duration of the same eventdetermined during the learnt process cycle. For example, and referringto FIGS. 4A and 4B, the current event duration C1 of the timed event E1measured during performance of the current process cycle may be comparedwith the learnt event duration L1 of the timed event E1 determined fromthe learnt process cycle. The variance between the current eventduration C1 and the learnt event duration L1 for the timed event E1 isshown in FIG. 4B as the current event variance V1, where the currentevent variance V1 may be used to evaluate the current process conditionby comparing the current event variance V1 to the learnt event variancefor the timed event E1.

Similarly, the current event variance V2 between current event durationC2 and the learnt event duration L2 may be determined for the secondtimed event E2 in the event sequence of the process 10, and so on, suchthat the current event variance V1 . . . Vn between each of the currentevent durations C1 . . . Cn and the respective learnt event durations L1. . . Ln may be determined for each of the timed events E1 . . . En inthe process sequence 50 of the process 10. The current event variancesV1 . . . Vn for the timed events E1 . . . En can be evaluated and usedto monitor the current operating condition of the process 10 and/or themachinery 12, which may include generating a message using the system100 in response to one or more of the current event variances V1 . . .Vn, and/or process trends identified by the system 100. The message maybe, for example, an indication that the respective event correspondingto the current event variance V1 . . . Vn to which the message isrelated may required further monitoring or evaluation, an indicationthat maintenance of the machinery 12 performing the respective event isindicated or required, an indication that the cycle time of the process10 may be changing in a manner which may impact a process outcome,and/or a signal to the process 10 and/or machinery 12 to modifyoperating conditions which may include shutting down an operation toprevent damage to the machinery 12 and/or process downtime.

Referring again to FIGS. 4A and 4B, a current cumulative variancebetween the current heartbeat 32 and the learnt heartbeat 36 may bedetermined by summing the current event variances V1 . . . Vn of thetimed events E1 . . . En to generate the current cumulative variance 42for the current process cycle relative to the learnt process cycle shownin FIG. 4B. The current cumulative variance 42 may be compared at anypoint in the event sequence 50 (E1, E2, . . . En) to determine whetherthe current cumulative variance 42 at that point in the event sequence50 of the current process cycle has exceeded a limit. The limit may be,in the example shown in FIG. 4B, the limit 40 defined by the learntcumulative variance. The system 100 may be configured such that when thecurrent cumulative variance 42 exceeds the limit 40 at any point in theevent sequence 50, the system 100 may generate a message, which may be,for example, a maintenance indication, a cycle time indication, a signalto modify and/or shutdown a portion or all of the process 10 and/ormachinery 12, or the like, as previously described herein.

The baseline, learnt and current heartbeats 32, 36, 38 definedrespectively by baseline, learnt and current process cycles performed bythe process 10, and prior heartbeats (not shown) defined by priorprocess cycles performed by the process 10 prior to the currentheartbeat 38 may be collected, stored and analyzed using the system 100.Collecting and storing the heartbeats may include collecting and storingthe heartbeat data sequences of each respective heartbeat, which mayinclude, for example, a baseline heartbeat data sequence (D1,D2 . . .Dn), a learnt heartbeat data sequence (L1,L2 . . . Ln), and/or a currentheartbeat data sequence (C1,C2 . . . Cn) used to respectively define thebaseline, learnt and current heartbeats 32, 36, 38. Analyzing theheartbeats may include determining one or more of event variances and/ora cumulative variance between respective heartbeats, and/or comparing adetermined variance to a variance limit or tolerance established for thedetermined variance. For example, analyzing the current heartbeat 38 mayinclude determining one or more current event variances V1 . . . Vn,comparing a current event duration C1 . . . Cn with a respective learntevent duration L1 . . . Ln or a respective baseline event duration D1 .. . Dn, determining a current cumulative variance 42 and/or comparingthe current cumulative variance 42 with a cumulative variance limit 40,and the like.

The variance between the baseline, learnt, and current heartbeats 32,36, 38 may be used to measure, monitor and/or control the process 10 bycomparing the variation in the current duration C1 of a respectiveevent, for example, event E1, to the baseline and/or learnt duration D1,L1 of the respective event. In another example, the current cumulativevariation 42 of the plurality of events E1 . . . En comprising theprocess cycle 30 may be compared to the learnt cumulative variation 40of the plurality of events E1 . . . En. Detailed understanding ofvariation of event duration of the timed events E1 . . . En and/or thecumulative variance of the plurality of timed events performed by afirst identified process cycle of the process 10 relative to at least asecond identified process cycle may be used to control and/or improvethe process 10 performed by the machinery 12, by identifying significantfluctuations in event duration through variance and/or trend analysis ofthe heartbeat defined by the first identified process cycle compared toat least a second identified heartbeat defined by a respectiveidentified process, where the at least second identified heartbeat(s)may including one or more prior heartbeats, which may include the learntand/or baseline heartbeats 36, 32.

Referring again to FIG. 1, the system 100 may be configured to outputinformation related to the process 10, machinery 12, including heartbeatinformation to an output device, which may be one of the devices 16, 18.Each of the devices 16, 18 may be in communication with or operativelyconnected to one or more of the server 20, the machinery 12, thecontrollers 14A, 14B, and/or to each other, in a wireless or wiredconfiguration, and may be configured to exchange information and/or datatherebetween. In one example, the device 18 may be a user interfacedevice configured to output information related to the process 10,machinery 12, event duration data and/or process heartbeats derivedtherefrom. The outputted information may include, by way of non-limitingexample, a display of one or more process heartbeats or heartbeathistory, which may be displayed textually and/or graphically, eventduration information, identified process conditions corresponding to aheartbeat which may include identified machine or process parameters,heartbeat variance information including event variance, cumulativevariance, variance analysis, trend analysis and other informationderived from the event duration information collected from the process10 and/or machinery 12, messages, alerts, alarms, etc. The output device18 may include at least one of a visual display, audio output, reportgenerator, printer, data port, or other output device configured toreceive data from the server 20, through which data may be transferredto a user or another device.

By way of example, the output device 16 may be configured as a signalingor messaging device, and may be configured to output a signal or messageto one or more of the process 10, machinery 12, server 20, output device16 or other device (not shown) in communication with the messagingdevice 16. The output device 16 may be configured to output the signalor message as one or more of an electronic, visual, or audible signal ormessage. The outputted signal or message may include a signal, messageor instruction sent to the process 10 and/or machinery 12 to modify orshutdown a portion or all of the process 10 and/or machinery 12, wherethe signal may be generated in response to a heartbeat defined by theprocess 10 and/or machinery 12, or information derived from analysis ofthe heartbeat. In one example, the messaging device 16 may be configuredto communicate the signal or message to a user device (not shown), whichmay be a portable user device such as a smart phone, notebook, laptop orother computing device, to communicate the signal or message to a userof the user device, such that the user may initiate an action inresponse to the signal or message, where the action may be one of amaintenance action or other action affecting the process 10 and/ormachinery 12. The example shown in FIG. 1 is intended to benon-limiting, and it would be understood that the functions performed byone or both of the output devices 16, 18 may be performed by another ofthe devices included in the system 100, such as the server 10,controller 14, etc.

Referring now to FIG. 5, shown is a non-limiting example of a processinformation display which may be generated by and outputted from thesystem 100, using the timed event duration data collected from theprocess 10 over a period of time. The display shown in FIG. 5 may bedisplayed, for example, by one of the output devices 16, 18, acontroller 14A, 14B, or outputted to another device for display. Theprocess information display of FIG. 5 shows a time series 62 of asampling of process cycle duration measurements taken over a sampleperiod indicated at 54. The sample period 54 may be selected for displayfrom a time period menu 52. In the example shown, the time period menu52 provides one hour sample period intervals to select from, and a 24hour period is shown. In the example shown, the sample period 54 is aone hour period from 3:00 pm to 3:59 pm, and the time series 62 isconfigured to show process cycle duration samples taken at one minuteintervals. For example, sample 44 represents the duration of the processcycle performed at 3:13 pm, and sample 46 represents the duration of theprocess cycle performed at 3:18 pm. It would be understood that thedisplay may be configured for other durations of time period menus 52and/or sample periods 54, other sample frequencies, etc., to providedifferent levels of discrimination of the information displayed. Forexample, the sample period 54 may be a ten minute period with a samplinginterval of 20 seconds, to provide a more detailed view of variabilityin the duration of the process cycles of the process 10.

The process cycle duration, as shown in FIG. 5, represents the totalduration of a process cycle. Using the example of the baseline cycle 30shown in FIG. 2 and the example data provided in Table 1, the totalduration of the baseline process cycle 30 would be the summation of thedurations D1 . . . Dn of the timed events E1 . . . En comprising theprocess cycle 30. For the example shown in FIG. 2 and Table 1, the totalduration of the baseline process cycle 30 would be 60, e.g., thesummation of the baseline event durations (3, 4, 3, 4, 10, 22, 4, 3, 4,3). Referring again to FIG. 5, a cursor or selector 48 may be configuredto allow a user to select a process cycle sample in the series 62 toretrieve additional information. In the example of FIG. 5, the selector48 has selected the process cycle performed at 3:32 pm, which may promptthe system 100 to provide detailed information, which may include, forexample, a display of event duration information similar to that shownin FIGS. 4A and/or 4B, for the selected process cycle.

Each sample in the time series 62 may be visually coded according to akey 56 to provide additional information to the user viewing thedisplay. In the example shown, the key 56 includes a cross-hatched barand a solid bar, each which may represent a different condition. Forexample, the samples displayed by a cross-hatched bar may representsamples, such as the sample 44, for which the heartbeat variance iswithin an acceptable limit. Samples displayed by a solid bar mayrepresent samples, such as the sample 46, where the heartbeat varianceis outside an acceptable limit. Further visual indicators may beincluded. For example, the solid bar may be a first color to indicate anevent variance is outside an acceptable limit for the sample, and thesolid bar may be a second color to indicate the cumulative variance isoutside an acceptable limit for the sample. The example shown in notintended to be limiting. By displaying a time series 62 of process cycledurations over a sample period 54, a visual indication of thevariability of and trending in process cycle duration over multipleprocess cycles performed by the process 10 may be provided. Such ananalysis may be useful, for example, to look for trends corresponding tochanges in operating conditions of the process 10 and/or machinery 12,which may include changes in environmental factors such as temperatureor power fluctuations from one time period to another, process ortooling changes, set-up or maintenance events, changes in incomingmaterial or workpiece parameters, etc.

Referring now to FIG. 6, shown is another non-limiting example of aprocess information display which may be generated by and outputted fromthe system 100, using the timed event duration data collected from theprocess 10 over a period of time. The display shown in FIG. 6 may bedisplayed, for example, by one of the output devices 16, 18, acontroller 14A, 14B, or outputted to another device for display. Theprocess information display of FIG. 6 shows an over cycle frequency 58and an accumulated variance 60 for one or more individual timed eventsin the process sequence 50. The over cycle frequency 58 refers to thenumber of times the duration of the timed event has exceeded theduration of a reference event measured during performance of a referencecycle. By example, the over cycle frequency of the timed event E3 shownin FIG. 6 may represent the number of times (frequency) during a sampleperiod (not shown) of process operation that the current duration C3 ofeach the timed event E3 performed during the sample period exceeded thelearnt duration L3 of the event E3, where the reference cycle is thelearnt cycle. The accumulated variance 60 refers to the summation of theevent variances of the timed event over the sample period relative tothe reference event. By example, the accumulated variance of the timedevent E3 shown in FIG. 6, where the reference cycle is the learnt cycle,would be the summation of the current variances V3 measured for theprocess cycles performed during the sample period, which would indicatethe total productive time loss attributable to variance of the timedevent E3 during the sample period.

Other information may be provided by FIG. 6. For example, the averagevariance per over cycle may be visually approximated for each timedevent. As shown for timed event E8, during the sample period shown, thevariance of timed event E8 averaged approximated 0.5 seconds per overcycle. The timed events may be displayed in ranked order according tothe event's frequency of over cycles and/or accumulated variance, forexample, in the order E3, E8, E1 in FIG. 6, to facilitate identificationof those events to be prioritized for investigation and/or correctiveaction. Other displays, including displays of tabular data and/or othergraphical analysis, of the event duration, cycle duration, heartbeatand/or data derived therefrom may be provided, and the examples shownare not intended to be limiting.

The detailed description and the drawings or figures are supportive anddescriptive of the invention, but the scope of the invention is definedsolely by the claims. While some of the best modes and other embodimentsfor carrying out the claimed invention have been described in detail,various alternative designs and embodiments exist for practicing theinvention defined in the appended claims.

The invention claimed is:
 1. A method for generating a heartbeat of aprocess, wherein the process includes at least one machine performing aprocess cycle, and wherein the process cycle includes a plurality oftimed events performed in a process sequence, the method comprising:identifying a baseline duration of each of the plurality of timed eventsof a baseline process cycle; ordering the baseline durations of theplurality of timed events in the process sequence; and generating, via aserver, a baseline heartbeat defined by the ordered baseline durationsof the baseline process cycle.
 2. The method of claim 1, wherein thebaseline duration of each of the plurality of events is the designintent duration of the respective event.
 3. The method of claim 1,further comprising: performing a learnt process cycle under a knowncondition; measuring a learnt duration of each of the plurality of timedevents, wherein the learnt duration of each of the timed eventscorresponds to the duration of the respective timed event whileperforming the process cycle under the known condition; ordering thelearnt durations of the plurality of timed events in the processsequence; and generating a learnt heartbeat defined by the orderedlearnt durations.
 4. The method of claim 3, further comprising:determining a learnt event variance between the learnt duration and thebaseline duration for each of the plurality of timed events.
 5. Themethod of claim 4, further comprising: determining a learnt cumulativevariance between the learnt heartbeat and the baseline heartbeat;wherein the learnt cumulative variance is defined by the sum of thelearnt event variances of the plurality of timed events.
 6. The methodof claim 3, wherein the known condition includes at least one knownprocess parameter.
 7. The method of claim 6, further comprising:providing a process specification for the process; wherein the at leastone known process parameter complies with the process specification. 8.The method of claim 1, further comprising: performing a current processcycle under a current condition; measuring a current duration of each ofthe plurality of timed events, wherein the current duration correspondsto the duration of the respective timed event while performing theprocess cycle under the current condition; ordering the currentdurations of the plurality of timed events in the process sequence; andgenerating a current heartbeat defined by the ordered current durations.9. The method of claim 8, further comprising: determining a currentevent variance between the current duration and the learnt duration foreach of the plurality of timed events.
 10. The method of claim 9,further comprising: determining a current cumulative variance betweenthe current heartbeat and the learnt heartbeat; wherein the currentcumulative variance is defined by the sum of the current event variancesof the plurality of timed events.
 11. The method of claim 10, furthercomprising: generating a message in response to one of the current eventvariance and the first current cumulative variance.
 12. The method ofclaim 11, wherein the message is at least one of: a maintenanceindicator; a cycle time indicator; and a shutdown signal.
 13. The methodof claim 8, further comprising: generating a plurality of currentheartbeats, wherein each respective heartbeat of the plurality ofcurrent heartbeats is defined by a respective current process cycleperformed under a respective current condition at a respective time;associating each respective heartbeat of the plurality of currentheartbeats with the respective time; and comparing each respectiveheartbeat of the plurality of current heartbeats with a plurality ofprior heartbeats; wherein the plurality of prior heartbeats includes twoor more of the baseline heartbeat, the learnt heartbeat, and currentheartbeats generated prior to the respective time associated with therespective heartbeat.
 14. The method of claim 13, wherein comparing eachrespective heartbeat of the plurality of current heartbeats with aplurality of prior heartbeats includes at least one of: determining acurrent event variance between the current duration of the respectiveheartbeat and the learnt duration for each of the plurality of timedevents; determining a current cumulative variance between the respectiveheartbeat and the learnt heartbeat; wherein the current cumulativevariance is defined by the sum of the current event variances of theplurality of timed events; and identifying a process trend defined bythe respective heartbeat and the plurality of prior heartbeats.
 15. Themethod of claim 14, further comprising: generating a message in responseto one of the current event variance of the respective heartbeat, thecurrent cumulative variance of the respective heartbeat, and the processtrend.
 16. A system for generating a heartbeat of a process, wherein theprocess includes at least one machine performing a process cycle,wherein the process cycle consists of a plurality of timed eventsperformed in a process sequence, the system comprising: a server incommunication with the at least one machine and configured to generate aheartbeat for the at least one machine, wherein the server generates theheartbeat by: receiving measurements of the duration of each of theplurality of timed events, wherein the duration of each of the timedevents corresponds to the duration of the timed event while the at leastone machine is performing the process cycle under an identifiedcondition; ordering the durations of the plurality of timed events inthe process sequence; and generating a heartbeat for the identifiedcondition defined by the ordered durations.
 17. The system of claim 16,wherein the identified condition is one of: a design intent conditiondefining a baseline heartbeat; a known condition defining a learntheartbeat; and a current condition defining a current heartbeat.
 18. Thesystem of claim 17, wherein the server is configured to: determine alearnt event variance between the learnt duration and the baselineduration for each of the plurality of timed events; determine a currentevent variance between the current duration and the learnt duration foreach of the plurality of timed events; determine a learnt cumulativevariance between the learnt heartbeat and the baseline heartbeat,wherein the learnt cumulative variance is defined by the sum of thelearnt event variances of the plurality of timed events; and determine acurrent cumulative variance between the current heartbeat and the learntheartbeat, wherein the current cumulative variance is defined by the sumof the current event variances of the plurality of timed events.
 19. Thesystem of claim 18, wherein the server is configured to generate amessage based on one of the current event variance and the currentcumulative variance.
 20. The system of claim 19, wherein the message isone of: a maintenance indicator; and a cycle time indicator.
 21. Thesystem of claim 19, wherein the message is a shutdown signal providingto the at least one machine.
 22. The system of claim 19, furthercomprising: an interface device in communication with the server;wherein the interface device is configured to receive the message fromthe server and to output the message to one of a user interface and theat least one machine.
 23. The system of claim 22, wherein the userinterface includes one of a display and an alarm.
 24. The system ofclaim 22, wherein the interface device is a programmable controller incommunication with the at least one machine and configured to measurethe duration of each of the plurality of timed events.
 25. The system ofclaim 19, further comprising: a database in communication with theserver and configured to store a plurality of prior heartbeats generatedby the server; wherein the server if configured to compare a respectivecurrent heartbeat with the plurality of prior heartbeats; and whereinthe plurality of prior heartbeats includes at least two of: the baselineheartbeat; the learnt heartbeat; and a prior heartbeat; wherein theprior heartbeat is defined by the current heartbeat generated prior tothe time associated with the respective current heartbeat.
 26. Thesystem of claim 25, wherein the server is configured to generate amessage based on one of: the current event variance of the respectivecurrent heartbeat; the current cumulative variance of the respectivecurrent heartbeat; and a process trend including the respective currentheartbeat.